home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Enter 2004 January
/
enter-2004-01.iso
/
files
/
maxima-5.9.0.exe
/
{app}
/
info
/
maxima.info-11
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
GNU Info File
|
2003-02-09
|
44.2 KB
|
1,254 lines
This is maxima.info, produced by makeinfo version 4.1 from maxima.texi.
This is a Texinfo Maxima Manual
Copyright 1994,2001 William F. Schelter
START-INFO-DIR-ENTRY
* Maxima: (maxima). A computer algebra system.
END-INFO-DIR-ENTRY
File: maxima.info, Node: Definitions for Symmetries, Prev: Symmetries, Up: Symmetries
Definitions for Symmetries
==========================
- Function: COMP2PUI (n, l)
re'alise le passage des fonctions syme'triques comple`tes,
donnee's dans la liste l, aux fonctions syme'triques
e'le'mentaires de 0 a` n. Si la liste l contient moins de n+1
e'le'ments les valeurs formelles viennent la completer. Le premier
e'le'ment de la liste l donne le cardinal de l'alphabet si il
existe, sinon on le met e'gal a n.
COMP2PUI(3,[4,g]);
2 3
[4, g, - g + 2 h2, g - 3 h2 g + 3 h3]
- Function: CONT2PART (pc,lvar)
rend le polyno^me partitionne' associe' a` la forme contracte'e
pc dont les variables sont dans lvar.
pc : 2*a^3*b*x^4*y + x^5$
CONT2PART(pc,[x,y]);
3
[[2 a b, 4, 1], [1, 5]]
Autres fonctions de changements de repre'sentations :
CONTRACT, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
- Function: CONTRACT (psym,lvar)
rend une forme contracte'e (i.e. un mono^me par orbite sous
l'action du groupe syme'trique) du polyno^me psym en les variables
contenues dans la liste lvar. La fonction EXPLOSE re'alise
l'ope'ration inverse. La fonction TCONTRACT teste en plus la
syme'trie du polyno^me.
psym : EXPLOSE(2*a^3*b*x^4*y,[x,y,z]);
3 4 3 4 3 4
2 a b y z + 2 a b x z + 2 a b y z
3 4 3 4 3 4
+ 2 a b x z + 2 a b x y + 2 a b x y
CONTRACT(psym,[x,y,z]);
3 4
2 a b x y
Autres fonctions de changements de repre'sentations :
CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
- Function: DIRECT ([P1,...,Pn],y,f,[lvar1,...,lvarn])
calcul l'image directe (voir M. GIUSTI,D. LAZARD et A. VALIBOUZE,
ISSAC 1988, Rome) associe'e a` la fonction f, en les listes de
variables lvar1,...,lvarn, et aux polyno^mes P1,...,Pn d'une
variable y. l'arite' de la fonction f est importante pour le
calcul. Ainsi, si l'expression de f ne depend pas d'une variable,
non seulement il est inutile de donner cette variable mais cela
diminue conside'rablement lees calculs si on ne le fait pas.
DIRECT([z^2 - e1* z + e2, z^2 - f1* z + f2], z, b*v + a*u,
[[u, v], [a, b]]);
2 2 2
z - e1 f1 z - 4 e2 f2 + e1 f2 + e2 f1
DIRECT([z^3-e1*z^2+e2*z-e3,z^2 - f1* z + f2], z, b*v + a*u,
[[u, v], [a, b]]);
6 5 4 2 4 2 4
Y - 2 E1 F1 Y - 6 E2 F2 Y + 2 E1 F2 Y + 2 E2 F1 Y
2 2 4
+ E1 F1 Y
3 3 3 3 3 3
+ 9 E3 F1 F2 Y + 5 E1 E2 F1 F2 Y - 2 E1 F1 F2 Y - 2 E3 F1 Y
3 3 2 2 2 2 2 2 4 2 2
- 2 E1 E2 F1 Y + 9 E2 F2 Y - 6 E1 E2 F2 Y + E1 F2 Y
2 2 2 2 2 2 2 2
- 9 E1 E3 F1 F2 Y - 6 E2 F1 F2 Y + 3 E1 E2 F1 F2 Y
4 2
+ 2 E1 E3 F1 Y
2 4 2 2 2 2
+ E2 F1 Y - 27 E2 E3 F1 F2 Y + 9 E1 E3 F1 F2 Y
2 2
+ 3 E1 E2 F1 F2 Y
3 2 3 2 3
- E1 E2 F1 F2 Y + 15 E2 E3 F1 F2 Y - 2 E1 E3 F1 F2 Y
2 3
- E1 E2 F1 F2 Y
5 2 3 3 3 3
- 2 E2 E3 F1 Y - 27 E3 F2 + 18 E1 E2 E3 F2 - 4 E1 E3 F2
3 3
- 4 E2 F2
2 2 3 2 2 2 2 2 3 2 2
+ E1 E2 F2 + 27 E3 F1 F2 - 9 E1 E2 E3 F1 F2 + E1 E3 F1 F2
3 2 2 2 4 4 2 6
+ E2 F1 F2 - 9 E3 F1 F2 + E1 E2 E3 F1 F2 + E3 F1
Recherche du polyno^me dont les racines sont les somme a+u ou a est
racine de z^2 - e1* z + e2 et u est racine de z^2 - f1* z + f2
DIRECT([z^2 - e1* z + e2,z^2 - f1* z + f2], z,a+u,[[u],[a]]);
4 3 3 2 2 2 2 2
Y - 2 F1 Y - 2 E1 Y + 2 F2 Y + F1 Y + 3 E1 F1 Y + 2 E2 Y
2 2
+ E1 Y
2 2
- 2 F1 F2 Y - 2 E1 F2 Y - E1 F1 Y - 2 E2 F1 Y - E1 F1 Y
2
- 2 E1 E2 Y + F2
2 2 2
+ E1 F1 F2 - 2 E2 F2 + E1 F2 + E2 F1 + E1 E2 F1 + E2
DIRECT peut prendre deux drapeaux possibles : ELEMENTAIRES et
PUISSANCES (valeur par de'faut) qui permettent de de'composer les
polyno^mes syme'triques apparaissant dans ce calcul par les
fonctions syme'triques e'le'mentaires ou les fonctions puissances
respectivement.
fonctions de SYM utilis'ees dans cette fonction :
MULTI_ORBIT (donc ORBIT), PUI_DIRECT, MULTI_ELEM
(donc ELEM), MULTI_PUI (donc PUI), PUI2ELE, ELE2PUI
(si le drapeau DIRECT est a` PUISSANCES).
- Function: ELE2COMP (m , l)
passe des fonctions syme'triques e'le'mentaires aux fonctions
comple`tes. Similaire a` COMP2ELE et COMP2PUI.
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2PUI, ELEM, MON2SCHUR, MULTI_ELEM,
MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
- Function: ELE2POLYNOME (l,z)
donne le polyno^me en z dont les fonctions syme'triques
e'le'mentaires des racines sont dans la liste l. l=[n,e1,...,en]
ou` n est le degre' du polyno^me et ei la i-ie`me fonction
syme'trique e'le'mentaire.
ele2polynome([2,e1,e2],z);
2
Z - E1 Z + E2
polynome2ele(x^7-14*x^5 + 56*x^3 - 56*X + 22,x);
[7, 0, - 14, 0, 56, 0, - 56, - 22]
ele2polynome( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
7 5 3
X - 14 X + 56 X - 56 X + 22
la re'ciproque : POLYNOME2ELE(p,z)
autres fonctions a` voir :
POLYNOME2ELE, PUI2POLYNOME.
- Function: ELE2PUI (m, l)
passe des fonctions syme'triques e'le'mentaires aux fonctions
comple`tes. Similaire a` COMP2ELE et COMP2PUI.
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELEM, MON2SCHUR, MULTI_ELEM,
MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
- Function: ELEM (ele,sym,lvar)
de'compose le polyno^me syme'trique sym, en les variables
contenues de la liste lvar, par les fonctions syme'triques
e'le'mentaires contenues dans la liste ele. Si le premier
e'le'ment de ele est donne' ce sera le cardinal de l'alphabet
sinon on prendra le degre' du polyno^me sym. Si il manque des
valeurs a` la liste ele des valeurs formelles du type "ei" sont
rajoute'es. Le polyno^me sym peut etre donne' sous 3 formes
diffe'rentes : contracte'e (ELEM doit alors valoir 1 sa valeur par
de'faut), partitionne'e (ELEM doit alors valoir 3) ou e'tendue
(i.e. le polyno^me en entier) (ELEM doit alors valoir 2).
L'utilsation de la fonction PUI se re'alise sur le me^me mode`le.
Sur un alphabet de cardinal 3 avec e1, la premie`re fonction
syme'trique e'le'mentaire, valant 7, le polyno^me syme'trique en 3
variables dont la forme contracte'e (ne de'pendant ici que de deux
de ses variables) est x^4-2*x*y se de'compose ainsi en les
fonctions syme'triques e'le'mentaires :
ELEM([3,7],x^4-2*x*y,[x,y]);
2
28 e3 + 2 e2 - 198 e2 + 2401
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, MON2SCHUR, MULTI_ELEM,
MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
- Function: EXPLOSE (pc,lvar)
rend le polyno^me syme'trique associe' a` la forme contracte'e pc.
La liste lvar contient les variables.
EXPLOSE(a*x +1,[x,y,z]);
(x + y + z) a + 1
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, PART2CONT, PARTPOL, TCONTRACT, TPARTPOL.
- Function: KOSTKA (part1,part2)
e'crite par P. ESPERET) calcule le nombre de kostka associe' aux
partition part1 et part2
kostka([3,3,3],[2,2,2,1,1,1]);
6
- Function: LGTREILLIS (n,m)
rend la liste des partitions de poids n et de longueur m.
LGTREILLIS(4,2);
[[3, 1], [2, 2]]
Voir e'galement : LTREILLIS, TREILLIS et TREINAT.
- Function: LTREILLIS (n,m)
rend la liste des partitions de poids n et de longueur infe'rieure
ou e'gale a` m.
ltreillis(4,2);
[[4, 0], [3, 1], [2, 2]]
Voir e'galement : LGTREILLIS, TREILLIS et TREINAT.
- Function: MON2SCHUR (l)
la liste l repre'sente la fonction de Schur S_l : On a
l=[i1,i2,...,iq] avec i1 <= i2 <= ... <= iq . La fonction de Schur
est S_[i1,i2...,iq] est le mineur de la matrice infinie (h_{i-j})
i>=1, j>=1 compose' des q premie`res lignes et des colonnes
i1+1,i2+2,...,iq+q.
On e'crit cette fonction de Schur en fonction des formes
monomiales en utilisant les fonctions TREINAT et KOSTKA. La forme
rendue est un polyno^me syme'trique dans une de ses
repre'sentations contracte'es avec les variables x1, x2, ...
mon2schur([1,1,1]);
X1 X2 X3
mon2schur([3]);
2 3
X1 X2 X3 + X1 X2 + X1
MON2SCHUR([1,2]);
2
2 x1 x2 x3 + x1 x2
ce qui veut dire que pour 3 variables cela donne :
2 x1 x2 x3 + x1^2 x2 + x2^2 x1 + x1^2 x3 + x3^2 x1
+ x2^2 x3 + x3^2 x2
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MULTI_ELEM,
MULTI_PUI, PUI, PUI2COMP, PUI2ELE, PUIREDUC, SCHUR2COMP.
- Function: MULTI_ELEM (l_elem,multi_pc,l_var)
de'compose un polyno^me multi-syme'trique sous la forme
multi-contracte'e multi_pc en les groupes de variables contenue
dans la liste de listes l_var sur les groupes de fonctions
syme'triques e'le'mentaires contenues dans l_elem.
MULTI_ELEM([[2,e1,e2],[2,f1,f2]],a*x+a^2+x^3,[[x,y],[a,b]]);
2 3 - 2 f2 + f1 + e1 f1 - 3 e1 e2 + e1
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
MON2SCHUR, MULTI_PUI, PUI, PUI2COMP, PUI2ELE,
PUIREDUC, SCHUR2COMP.
- Function: MULTI_ORBIT (P,[lvar1, lvar2,...,lvarp])
P est un polyno^me en l'ensemble des variables contenues dans les
listes lvar1, lvar2 ... lvarp. Cette fonction rame`ne l'orbite du
polyno^me P sous l'action du produit des groupes syme'triques des
ensembles de variables repre'sente's par ces p LISTES.
MULTI_ORBIT(a*x+b*y,[[x,y],[a,b]]);
[b y + a x, a y + b x]
multi_orbit(x+y+2*a,[[x,y],[a,b,c]]);
[Y + X + 2 C, Y + X + 2 B, Y + X + 2 A]
voir e'galement : ORBIT pour l'action d'un seul groupe syme'trique
- Function: MULTI_PUI
est a` la fonction PUI ce que la fonction MULTI_ELEM est a` la
fonction ELEM.
MULTI_PUI([[2,p1,p2],[2,t1,t2]],a*x+a^2+x^3,[[x,y],[a,b]]);
3
3 P1 P2 P1
T2 + P1 T1 + ------- - ---
2 2
- Function: MULTINOMIAL (r,part)
ou` r est le poids de la partition part. Cette fonction rame`ne le
coefficient multinomial associe' : si les parts de la partitions
part sont i1, i2, ..., ik, le re'sultat de MULTINOMIAL est
r!/(i1!i2!...ik!).
- Function: MULTSYM (ppart1, ppart2,N)
re'alise le produit de deux polyno^mes syme'triques de N variables
en ne travaillant que modulo l'action du groupe syme'trique
d'ordre N. Les polyno^mes sont dans leur repre'sentation
partitionne'e.
Soient les 2 polyno^mes syme'triques en x, y : 3*(x+y) + 2*x*y et
5*(x^2+y^2) dont les formes partitionne'es sont respectivement
[[3,1],[2,1,1]] et [[5,2]], alors leur produit sera donne' par :
MULTSYM([[3,1],[2,1,1]],[[5,2]],2);
[[10, 3, 1], [15, 2, 1], [15, 3, 0]]
soit 10*(x^3*y+y^3*x)+15*(x^2*y +y^2*x) +15(x^3+y^3)
Fonctions de changements de repre'sentations d'un polyno^me
syme'trique :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT,
TPARTPOL.
- Function: ORBIT (P,lvar)
calcul l'orbite du polyno^me P en les variables de la liste lvar
sous l'action du groupe syme'trique de l'ensemble des variables
contenues dans la liste lvar.
orbit(a*x+b*y,[x,y]);
[A Y + B X, B Y + A X]
orbit(2*x+x^2,[x,y]);
2 2
[Y + 2 Y, X + 2 X]
voir e'galement : MULTI_ORBIT pour l'action d'un produit de groupes
syme'triques sur un polyno^me.
- Function: PART2CONT (ppart,lvar)
passe de la forme partitionne'e a` la forme contracte'e d'un
polyno^me syme'trique. La forme contracte'e est rendue avec les
variables contenues dans lvar.
PART2CONT([[2*a^3*b,4,1]],[x,y]);
3 4
2 a b x y
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PARTPOL, TCONTRACT, TPARTPOL.
- Function: PARTPOL (psym, lvar)
psym est un polyno^me syme'trique en les variables de lvar. Cette
fonction rame`ne sa repre'sentation partitionne'e.
PARTPOL(-a*(x+y)+3*x*y,[x,y]);
[[3, 1, 1], [- a, 1, 0]]
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, TCONTRACT, TPARTPOL.
- Function: PERMUT (l)
rame`ne la liste des permutations de la liste l.
- Function: POLYNOME2ELE (p,x)
donne la liste l=[n,e1,...,en] ou` n est le degre' du polyno^me p
en la variable x et ei la i-ieme fonction syme'trique
e'le'mentaire des racines de p.
POLYNOME2ELE(x^7-14*x^5 + 56*x^3 - 56*X + 22,x);
[7, 0, - 14, 0, 56, 0, - 56, - 22]
ELE2POLYNOME( [7, 0, - 14, 0, 56, 0, - 56, - 22],x);
7 5 3
X - 14 X + 56 X - 56 X + 22
la re'ciproque : ELE2POLYNOME(l,x)
- Function: PRODRAC (L,K)
L est une liste contenant les fonctions syme'triques
e'le'mentaires sur un ensemble A. PRODRAC rend le polyno^me dont
les racines sont les produits K a` K des e'le'ments de A.
- Function: PUI (pui,sym,lvar)
de'compose le polyno^me syme'trique sym, en les variables
contenues de la liste lvar, par les fonctions puissances contenues
dans la liste pui. Si le premier e'le'ment de pui est donne' ce
sera le cardinal de l'alphabet sinon on prendra le degre' du
polyno^me sym. Si il manque des valeurs a` la liste pui, des
valeurs formelles du type "pi" sont rajoute'es. Le polyno^me sym
peut etre donne' sous 3 formes diffe'rentes : contracte'e (PUI
doit alors valoir 1 sa valeur par de'faut), partitionne'e (PUI
doit alors valoir 3) ou e'tendue (i.e. le polyno^me en entier)
(PUI doit alors valoir 2). La fonction ELEM s'utilise de la me^me
manie`re.
PUI;
1
PUI([3,a,b],u*x*y*z,[x,y,z]);
3
(a - 3 b a + 2 p3) u
---------------------
6
autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM, MON2SCHUR,
MULTI_ELEM, MULTI_PUI, PUI2COMP, PUI2ELE, PUIREDUC,
SCHUR2COMP.
- Function: PUI2COMP (N,LPUI)
rend la liste des N premie`res fonctions comple`tes (avec en te^te
le cardinal) en fonction des fonctions puissance donne'es dans la
liste LPUI. Si la liste LPUI est vide le cardinal est N sinon
c'est son premier e'le'ment similaire a` COMP2ELE et COMP2PUI.
PUI2COMP(2,[]);
2
p1 + p2
[2, p1, --------]
2
PUI2COMP(3,[2,a1]);
2 3
a1 + p2 a1 + 3 p2 a1 + 2 p3
[2, a1, --------, --------------------]
2 6
Autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2ELE,
PUIREDUC, SCHUR2COMP.
- Function: PUI2ELE (N,LPUI)
re'alise le passage des fonctions puissances aux fonctions
syme'triques e'le'mentaires. Si le drapeau PUI2ELE est GIRARD, on
re'cupe`re la liste des fonctions syme'triques e'le'mentaires de 1
a` N, et s'il est e'gal a` CLOSE, la Nie`me fonction syme'trique
e'le'mentaire.
Autres fonctions de changements de bases :
COMP2ELE, COMP2PUI, ELE2COMP, ELE2PUI, ELEM,
MON2SCHUR, MULTI_ELEM, MULTI_PUI, PUI, PUI2COMP,
PUIREDUC, SCHUR2COMP.
- Function: PUI2POLYNOME (X,LPUI)
calcul le polyno^me en X dont les fonctions puissances des racines
sont donne'es dans la liste LPUI.
(C6) polynome2ele(x^3-4*x^2+5*x-1,x);
(D6) [3, 4, 5, 1]
(C7) ele2pui(3,%);
(D7) [3, 4, 6, 7]
(C8) pui2polynome(x,%);
3 2
(D8) X - 4 X + 5 X - 1
Autres fonctions a` voir :
POLYNOME2ELE, ELE2POLYNOME.
- Function: PUI_DIRECT (ORBITE,[lvar1,...,lvarn],[d1,d2,...,dn])
Soit f un polynome en n blocs de variables lvar1,...,lvarn. Soit
ci le nombre de variables dans lvari . Et SC le produit des n
groupes syme'triques de degre' c1,...,cn. Ce groupe agit
naturellement sur f La liste ORBITE est l'orbite, note'e SC(f), de
la fonction f sous l'action de SC. (Cette liste peut e^tre obtenue
avec la fonction : MULTI_ORBIT). Les di sont des entiers tels que
c1<=d1, c2<=d2,...,cn<=dn. Soit SD le produit des groupes
syme'triques S_d1 x S_d2 x...x S_dn.
la fonction pui_direct rame`ne les N premie`res fonctions
puissances de SD(f) de'duites des fonctions puissances de SC(f)
ou` N est le cardinal de SD(f).
Le re'sultat est rendue sous forme multi-contracte'e par rapport a
SD. i.e. on ne conserve qu'un e'le'ment par orbite sous l'action
de SD).
L:[[x,y],[a,b]]$
PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[2,2]);
2 2
[a x, 4 a b x y + a x ]
PUI_DIRECT(MULTI_ORBIT(a*x+b*y, L), L,[3,2]);
2 2 2 2 3 3
[2 A X, 4 A B X Y + 2 A X , 3 A B X Y + 2 A X ,
2 2 2 2 3 3 4 4
12 A B X Y + 4 A B X Y + 2 A X ,
3 2 3 2 4 4 5 5
10 A B X Y + 5 A B X Y + 2 A X ,
3 3 3 3 4 2 4 2 5 5 6 6
40 A B X Y + 15 A B X Y + 6 A B X Y + 2 A X ]
PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[2,3]);
2 2
[3 x + 2 a, 6 x y + 3 x + 4 a x + 4 a ,
2 3 2 2 3
9 x y + 12 a x y + 3 x + 6 a x + 12 a x + 8 a ]
PUI_DIRECT([y+x+2*c, y+x+2*b, y+x+2*a],[[x,y],[a,b,c]],[3,4]);
- Function: PUIREDUC (N,LPUI)
LPUI est une liste dont le premier e'le'ment est un entier M.
PUIREDUC donne les N premie`res fonctions puissances en fonction
des M premie`res.
PUIREDUC(3,[2]);
3
3 p1 p2 - p1
[2, p1, p2, -------------]
2
- Function: RESOLVANTE (p,x,f,[x1,...,xd])
calcule la re'solvante du polyno^me p de la variable x et de
degre' n >= d par la fonction f exprime'e en les variables
x1,...,xd. Il est important pour l'efficacite' des calculs de ne
pas mettre dans la liste [x1,...,xd] les variables n'intervenant
pas dans la fonction de transformation f.
Afin de rendre plus efficaces les calculs on peut mettre des
drapeaux a` la variable RESOLVANTE afin que des algorithmes
ade'quates soient utilise's :
Si la fonction f est unitaire :
* un polyno^me d'une variable,
* line'aire ,
* alterne'e,
* une somme de variables,
* syme'trique en les variables qui apparaissent dans son
expression,
* un produit de variables,
* la fonction de la re'solvante de Cayley (utilisable qu'en
degre' 5)
(x1*x2+x2*x3+x3*x4+x4*x5+x5*x1 -
(x1*x3+x3*x5+x5*x2+x2*x4+x4*x1))^2
generale,
le drapeau de RESOLVANTE pourra e^tre respectivement :
* unitaire,
* lineaire,
* alternee,
* somme,
* produit,
* cayley,
* generale.
resolvante:unitaire;
resolvante(x^7-14*x^5 + 56*x^3 - 56*X + 22,x,x^3-1,[x]);
7 6 5 4 3 2
Y + 7 Y - 539 Y - 1841 Y + 51443 Y + 315133 Y + 376999 Y
+ 125253
resolvante : lineaire;
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
24 20 16 12 8 4
Y + 80 Y + 7520 Y + 1107200 Y + 49475840 Y + 344489984 Y
+ 655360000
Meme solution pour :
resolvante : general;
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3]);
resolvante(x^4-1,x,x1+2*x2+3*x3,[x1,x2,x3,x4])
direct([x^4-1],x,x1+2*x2+3*x3,[[x1,x2,x3]]);
resolvante:lineaire$
resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3);
4
Y - 1
resolvante:symetrique$
resolvante(x^4-1,x,x1+x2+x3,[x1,x2,x3]);
4
Y - 1
resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
12 8 6 4 2
Y + 8 Y + 26 Y - 112 Y + 216 Y + 229
resolvante:alternee$
resolvante(x^4+x+1,x,x1-x2,[x1,x2]);
12 8 6 4 2
Y + 8 Y + 26 Y - 112 Y + 216 Y + 229
resolvante:produit;
resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
35 33 29 28 27 26 24
Y - 7 Y - 1029 Y + 135 Y + 7203 Y - 756 Y + 1323 Y
23 22 21 20 19
+ 352947 Y - 46305 Y - 2463339 Y + 324135 Y - 30618 Y
18
- 453789 Y
17 15 14 12
- 40246444 Y + 282225202 Y - 44274492 Y + 155098503 Y
11
+ 12252303 Y
10 9 8 7 6
+ 2893401 Y - 171532242 Y + 6751269 Y + 2657205 Y - 94517766 Y
5 3
- 3720087 Y + 26040609 Y + 14348907
resolvante:symetrique$
resolvante(x^7-7*x+3,x,x1*x2*x3,[x1,x2,x3]);
35 33 29 28 27 26 24
Y - 7 Y - 1029 Y + 135 Y + 7203 Y - 756 Y + 1323 Y
23 22 21 20 19
+ 352947 Y - 46305 Y - 2463339 Y + 324135 Y - 30618 Y
18
- 453789 Y
17 15 14 12
- 40246444 Y + 282225202 Y - 44274492 Y + 155098503 Y
11
+ 12252303 Y
10 9 8 7 6
+ 2893401 Y - 171532242 Y + 6751269 Y + 2657205 Y - 94517766 Y
5 3
- 3720087 Y + 26040609 Y + 14348907
resolvante:cayley$
resolvante(x^5-4*x^2+x+1,x,a,[]);
" resolvante de Cayley "
6 5 4 3 2
X - 40 X + 4080 X - 92928 X + 3772160 X + 37880832 X + 93392896
Pour la re'solvante de Cayley, les 2 derniers arguments sont
neutres et le polyno^me donne' en entre'e doit ne'cessairement
e^tre de degre' 5.
Voir e'galement :
RESOLVANTE_BIPARTITE, RESOLVANTE_PRODUIT_SYM,
RESOLVANTE_UNITAIRE, RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN,
RESOLVANTE_KLEIN3, RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
- Function: RESOLVANTE_ALTERNEE1 (p,x)
calcule la transformation de p(x) de degre n par la fonction
$\prod_{1\leq i<j\leq n-1} (x_i-x_j)$.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE, RESOLVANTE_BIPARTITE.
- Function: RESOLVANTE_BIPARTITE (p,x)
calcule la transformation de p(x) de degre n (n pair) par la
fonction $x_1x_2\ldots x_{n/2}+x_{n/2+1}\ldotsx_n$
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE , RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE,RESOLVANTE_ALTERNEE1
RESOLVANTE_BIPARTITE(x^6+108,x);
10 8 6 4
Y - 972 Y + 314928 Y - 34012224 Y
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE,
RESOLVANTE_ALTERNEE1.
- Function: RESOLVANTE_DIEDRALE (p,x)
calcule la transformation de p(x) par la fonction x_1x_2+x_3x_4.
resolvante_diedrale(x^5-3*x^4+1,x);
15 12 11 10 9 8 7 6
X - 21 X - 81 X - 21 X + 207 X + 1134 X + 2331 X - 945 X
5 4 3 2
- 4970 X - 18333 X - 29079 X - 20745 X - 25326 X - 697
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE.
- Function: RESOLVANTE_KLEIN (p,x)
calcule la transformation de p(x) par la fonction x_1x_2x_4+x_4.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE_ALTERNEE1, RESOLVANTE, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
- Function: RESOLVANTE_KLEIN3 (p,x)
calcule la transformation de p(x) par la fonction x_1x_2x_4+x_4.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
- Function: RESOLVANTE_PRODUIT_SYM (p,x)
calcule la liste toutes les r\'esolvantes produit du polyn\^ome
p(x).
resolvante_produit_sym(x^5+3*x^4+2*x-1,x);
5 4 10 8 7 6 5 4
[Y + 3 Y + 2 Y - 1, Y - 2 Y - 21 Y - 31 Y - 14 Y - Y
3
+ 14 Y
2 10 8 7 6 5 4 3 2
+ 3 Y + 1, Y + 3 Y + 14 Y - Y - 14 Y - 31 Y - 21 Y - 2 Y
5 4
+ 1, Y - 2 Y - 3 Y - 1, Y - 1]
resolvante:produit$
esolvante(x^5+3*x^4+2*x-1,x,a*b*c,[a,b,c]);
10 8 7 6 5 4 3 2
Y + 3 Y + 14 Y - Y - 14 Y - 31 Y - 21 Y - 2 Y + 1
Voir e'galement :
RESOLVANTE, RESOLVANTE_UNITAIRE,
RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
- Function: RESOLVANTE_UNITAIRE (p,q,x)
calcule la r\'esolvante du polyn\^ome p(x) par le polyn\^ome q(x).
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE,
RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE_VIERER, RESOLVANTE_DIEDRALE.
- Function: RESOLVANTE_VIERER (p,x)
calcule la transformation de p(x) par la fonction x_1x_2-x_3x_4.
Voir e'galement :
RESOLVANTE_PRODUIT_SYM, RESOLVANTE_UNITAIRE,
RESOLVANTE_ALTERNEE1, RESOLVANTE_KLEIN, RESOLVANTE_KLEIN3,
RESOLVANTE, RESOLVANTE_DIEDRALE.
- Function: SCHUR2COMP (P,l_var)
: P est un polyno^mes en les variables contenues dans la liste
l_var. Chacune des variables de l_var repre'sente une fonction
syme'trique comple`te. On repre'sente dans l_var la ie`me fonction
syme'trique comple`te comme la concate'nation de la lettre h avec
l'entier i : hi. Cette fonction donne l'expression de P en
fonction des fonctions de Schur.
SCHUR2COMP(h1*h2-h3,[h1,h2,h3]);
s
1, 2
SCHUR2COMP(a*h3,[h3]);
s a
3
- Function: SOMRAC (liste,K)
la liste contient les fonctions syme'triques e'le'mentaires d'un
polyno^me P . On calcul le polyno^mes dont les racines sont les
sommes K a` K distinctes des racines de P.
Voir e'galement PRODRAC.
- Function: TCONTRACT (pol,lvar)
teste si le polyno^me pol est syme'trique en les variables
contenues dans la liste lvar. Si oui il rend une forme contracte'e
comme la fonction CONTRACT.
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TPARTPOL.
- Function: TPARTPOL (pol,lvar)
teste si le polyno^me pol est syme'trique en les variables
contenues dans la liste lvar. Si oui il rend sa forme partionne'e
comme la fonction PARTPOL.
Autres fonctions de changements de repre'sentations :
CONTRACT, CONT2PART, EXPLOSE, PART2CONT, PARTPOL, TCONTRACT.
- Function: TREILLIS (n)
rame`ne toutes les partitions de poids n.
treillis(4);
[[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
Voir e'galement : LGTREILLIS, LTREILLIS et TREINAT.
- Function: TREINAT
TREINAT(part) rame`ne la liste des partitions infe'rieures a` la
partition part pour l'ordre naturel.
treinat([5]);
[[5]]
treinat([1,1,1,1,1]);
[[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1],
[1, 1, 1, 1, 1]]
treinat([3,2]);
[[5], [4, 1], [3, 2]]
Voir e'galement : LGTREILLIS, LTREILLIS et TREILLIS.
File: maxima.info, Node: Groups, Next: Runtime Environment, Prev: Symmetries, Up: Top
Groups
******
* Menu:
* Definitions for Groups::
File: maxima.info, Node: Definitions for Groups, Prev: Groups, Up: Groups
Definitions for Groups
======================
- Function: TODD_COXETER (relations,subgroup)
Find the order of G/H where G is the Free Group modulo RELATIONS,
and H is the subgroup of G generated by SUBGROUP. SUBGROUP is an
optional argument, defaulting to []. In doing this it produces a
multiplication table for the right action of G on G/H, where the
cosets are enumerated [H,Hg2,Hg3,...] This can be seen internally
in the $todd_coxeter_state. The multiplication tables for the
variables are in table:todd_coxeter_state[2] Then table[i] gives
the table for the ith variable. mulcoset(coset,i) :=
table[varnum][coset];
Example:
(C1) symet(n):=create_list(if (j - i) = 1 then (p(i,j))^^3 else
if (not i = j) then (p(i,j))^^2 else p(i,i) , j,1,n-1,i,1,j);
<3>
(D1) SYMET(N) := CREATE_LIST(IF J - I = 1 THEN P(I, J)
<2>
ELSE (IF NOT I = J THEN P(I, J)
ELSE P(I, I)), J, 1, N - 1, I, 1, J)
(C2) p(i,j) :=concat(x,i).concat(x,j);
(D2) P(I, J) := CONCAT(X, I) . CONCAT(X, J)
(C3) symet(5);
<3> <2> <3>
(D3) [X1 . X1, (X1 . X2) , X2 . X2, (X1 . X3) , (X2 . X3) ,
<2> <2> <3>
X3 . X3, (X1 . X4) , (X2 . X4) , (X3 . X4) , X4 . X4]
(C4) todd_coxeter(d3);
Rows tried 426
(D4) 120
(C5) todd_coxeter(d3,[x1]);
Rows tried 213
(D5) 60
(C6) todd_coxeter(d3,[x1,x2]);
Rows tried 71
(D6) 20
(C7) table:todd_coxeter_state[2]$
(C8) table:todd_coxeter_state[2]$
(C9) table[1];
(D9) {Array: FIXNUM #(0 2 1 3 7 6 5 4 8 11 17 9 12 14 13 20
16 10 18 19 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)}
Note only the elements 1 thru 20 of this array d9 are meaningful.
table[1][4] = 7 indicates coset4.var1 = coset7
File: maxima.info, Node: Runtime Environment, Next: Miscellaneous Options, Prev: Groups, Up: Top
Runtime Environment
*******************
* Menu:
* Introduction for Runtime Environment::
* INTERRUPTS::
* Definitions for Runtime Environment::
File: maxima.info, Node: Introduction for Runtime Environment, Next: INTERRUPTS, Prev: Runtime Environment, Up: Runtime Environment
Introduction for Runtime Environment
====================================
- A file which is loaded automatically for you when you start up a
MACSYMA, to customize MACSYMA for you. It is possible to have an init
file written as a BATCH file of macsyma commands. We hope this makes
it easier for users to customize their macsyma environment. Here is an
example init file
/*-*-macsyma-*-*/
setup_autoload("share\;bessel",j0,j1,jn);
showtime:all; comgrind:true;
The strange looking comment at the top of the file
"/*-*-macsyma-*-*/" tells that it is a macsyma-language file. Also:
"SETUP_AUTOLOAD" can be used to make functions in BATCH files
autoloading, meaning that you can then use (for instance, here) the
functions J0, J1 and Jn from the BESSEL package directly because when
you use the function the BESSEL package will be loaded in for you
automatically. If the second file name in the argument to
SETUP_AUTOLOAD is not specified (the preferred usage) then the standard
search for second file names of "FASL", "TRLISP", and ">" is done.
File: maxima.info, Node: INTERRUPTS, Next: Definitions for Runtime Environment, Prev: Introduction for Runtime Environment, Up: Runtime Environment
INTERRUPTS
==========
- There are several ways the user can interrupt a MACSYMA
computation, usually with a control character. Do
DESCRIBE(CHARACTERS); for details. MACSYMA will also be interrupted if
^Z (control-Z) is typed, as this will exit back to Unix shell level
Usually Control-C interrupts the computation putting you in a break
loop. Typing :t should give you top level maxima back again.
File: maxima.info, Node: Definitions for Runtime Environment, Prev: INTERRUPTS, Up: Runtime Environment
Definitions for Runtime Environment
===================================
- Function: ALARMCLOCK (arg1, arg2, arg3)
will execute the function of no arguments whose name is arg3 when
the time specified by arg1 and arg2 elapses. If arg1 is the atom
"TIME" then arg3 will be executed after arg2 seconds of real-time
has elapsed while if arg1 is the atom "RUNTIME" then arg3 will be
executed after arg2 milliseconds of cpu time. If arg2 is negative
then the arg1 timer is shut off.
- Function: ALLOC
takes any number of arguments which are the same as the replies to
the "run out of space" question. It increases allocations
accordingly. E.g. If the user knows initially that his problem
will require much space, he can say ALLOC(4); to allocate the
maximum amount initially. See also the DYNAMALLOC switch.
- Function: BUG ("message")
similar to mail, sends a message to MACSYMA Mail. This may be
used for reporting bugs or suspected bugs in MACSYMA. Expressions
may be included by referring to them, outside double quotes, e.g.
BUG("I am trying to integrate",D3,"but it asks for more list space.
What should I do?");
- Function: CLEARSCREEN ()
Clears the screen. The same as typing control-L.
- Function: CONTINUE
- Control-^ typed while in MACSYMA causes LISP to be entered. The
user can now type any LISP S-expression and have it evaluated.
Typing (CONTINUE) or ^G (control-G) causes MACSYMA to be
re-entered.
- Function: DDT ()
Exits from MACSYMA to the operating system level. (The same as
control-Z on ITS, or control-C on Tops-20.)
- Function: DELFILE (file-specification)
will delete the file given by the file-specification (i.e.
firstname, secondname, device, user) from the given device.
- Function: DISKFREE ()
With no args or an arg of TRUE, will return the total number of
free blocks of disk space in the system. With an arg of 0, 1, or
13, it will return the number of free blocks of diskspace on the
respective disk pack. With an arg of SECONDARY or PRIMARY, it will
return the total number of free blocks of disk space on the
secondary or primary disk pack respectively.
- declaration: FEATURE
- A nice adjunct to the system. STATUS(FEATURE) gives you a list
of system features. At present the list for MC is: MACSYMA,
NOLDMSG, MACLISP, PDP10, BIGNUM, FASLOAD, HUNK, FUNARG, ROMAN,
NEWIO, SFA, PAGING, MC, and ITS. Any of these "features" may be
given as a second argument to STATUS(FEATURE,...); If the
specified feature exists, TRUE will be returned, else FALSE.
Note: these are system features, and not really "user related".
See also DESCRIBE(features); for more user-oriented features.
- Function: FEATUREP (a,f)
attempts to determine whether the object a has the feature f on
the basis of the facts in the current data base. If so, it
returns TRUE, else FALSE. See DESCRIBE(FEATURES); .
(C1) DECLARE(J,EVEN)$
(C2) FEATUREP(J,INTEGER);
(D2) TRUE
- Function: ROOM ()
types out a verbose description of the state of storage and stack
management in the Macsyma. This simply utilizes the Lisp ROOM
function. ROOM(FALSE) - types out a very terse description,
containing most of the same information.
- Function: STATUS (arg)
will return miscellaneous status information about the user's
MACSYMA depending upon the arg given. Permissible arguments and
results are as follows:
* TIME - the time used so far in the computation.
* DAY - the day of the week.
* DATE - a list of the year, month, and day.
* DAYTIME - a list of the hour, minute, and second.
* RUNTIME - accumulated cpu time times the atom "MILLISECONDS"
in the current MACSYMA.
* REALTIME - the real time (in sec) elapsed since the user
started up his MACSYMA.
* GCTIME - the garbage collection time used so far in the
current computation.
* TOTALGCTIME - gives the total garbage collection time used in
MACSYMA so far.
* FREECORE - the number of blocks of core your MACSYMA can
expand before it runs out of address space. (A block is
1024 words.) Subtracting that value from 250*BLOCKS (the
maximum you can get on MC) tells you how many blocks of
core your MACSYMA is using up. (A MACSYMA with no "fix"
file starts at approx. 191 blocks.)
* FEATURE - gives you a list of system features. At present the
list for MC is: MACSYMA, NOLDMSG, MACLISP, PDP10, BIGNUM,
FASLOAD, HUNK, FUNARG, ROMAN, NEWIO, SFA, PAGING, MC, and
ITS. Any of these "features" may be given as a second
argument to STATUS(FEATURE,...); If the specified feature
exists, TRUE will be returned, else FALSE. Note: these
are system features, and not really "user related".
For information about your files, see the FILEDEFAULTS(); command.
- Function: TIME (Di1, Di2, ...)
gives a list of the times in milliseconds taken to compute the Di.
(Note: the Variable SHOWTIME, default: [FALSE], may be set to
TRUE to have computation times printed out with each D-line.)
File: maxima.info, Node: Miscellaneous Options, Next: Rules and Patterns, Prev: Runtime Environment, Up: Top
Miscellaneous Options
*********************
* Menu:
* Introduction to Miscellaneous Options::
* SHARE::
* Definitions for Miscellaneous Options::
File: maxima.info, Node: Introduction to Miscellaneous Options, Next: SHARE, Prev: Miscellaneous Options, Up: Miscellaneous Options
Introduction to Miscellaneous Options
=====================================
In this section various options are discussed which have a global
effect on the operation of maxima. Also various lists such as the
list of all user defined functions, are discussed.
File: maxima.info, Node: SHARE, Next: Definitions for Miscellaneous Options, Prev: Introduction to Miscellaneous Options, Up: Miscellaneous Options
SHARE
=====
- The SHARE directory on MC or on a DEC20 version of MACSYMA
contains programs, information files, etc. which are considered to be
of interest to the MACSYMA community. Most files on SHARE; are not
part of the MACSYMA system per se and must be loaded individually by
the user, e.g. LOADFILE("array");. Many files on SHARE; were
contributed by MACSYMA users. Do PRINTFILE(SHARE,USAGE,SHARE); for
more details and the conventions for contributing to the SHARE
directory. For an annotated "table of contents" of the directory, do:
PRINTFILE(SHARE,>,SHARE);